package com.yytek.nmp.mapper;

import java.util.List;
import com.yytek.nmp.domain.IotDeviceTopo;
import org.apache.ibatis.annotations.Param;

/**
 * 设备topoMapper接口
 *
 * @author yytek-iot
 * @date 2022-07-05
 */
public interface IotDeviceTopoMapper
{
    /**
     * 查询设备topo
     *
     * @param gatewayId 设备topo主键
     * @return 设备topo
     */
    public List<IotDeviceTopo> selectIotDeviceTopoByGatewayId(String gatewayId);

    /**
     * 查询设备topo列表
     *
     * @param iotDeviceTopo 设备topo
     * @return 设备topo集合
     */
    public List<IotDeviceTopo> selectIotDeviceTopoList(IotDeviceTopo iotDeviceTopo);

    /**
     * 新增设备topo
     *
     * @param iotDeviceTopo 设备topo
     * @return 结果
     */
    public int insertIotDeviceTopo(IotDeviceTopo iotDeviceTopo);

    /**
     * 修改设备topo
     *
     * @param iotDeviceTopo 设备topo
     * @return 结果
     */
    public int updateIotDeviceTopo(IotDeviceTopo iotDeviceTopo);

    /**
     * 删除设备topo
     *
     * @param gatewayId 设备topo主键
     * @return 结果
     */
    public int deleteIotDeviceTopoByGatewayId(String gatewayId);

    /**
     * 批量删除设备topo
     *
     * @param gatewayIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteIotDeviceTopoByGatewayIds(String[] gatewayIds);

    /**
     * 删除设备绑定关系
     * @param gateWayid
     * @param subId
     * @return
     */
    public int deleteTopoByGatewayIdAndSubId(@Param("gateWayid") String gateWayid,
                                             @Param("subId")String subId);
}
